home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / pcl / docs.lha / database / uttir.lib < prev   
Text File  |  1991-01-25  |  18KB  |  330 lines

  1. @Comment{Version of BOLIO.LIB that provides a single unified index
  2. instead of separate indexes for functions, variables, constants,
  3. keywords, and concepts.}
  4.  
  5. @Marker(Library, Uttir, Press, Dover, Postscript)
  6.  
  7. @Libraryfile(DBolio)
  8.  
  9.  
  10. @Comment{Constraints on the definition of IndexEnvironment:
  11.     Indent = - LeftMargin
  12.     (Linewidth + Leftmargin + Columnmargin) * Columns - Columnmargin
  13.          = global line width
  14. }
  15. @Define(IndexEnvironment, Boxed, Columns 2, Columnmargin 0.5in,
  16.         Linewidth 2.7in, Leftmargin +0.3in, Indent -0.3in)
  17.  
  18. @Define(KeySpreadEnvironment, Facecode F)
  19. @Textform(SpreadKeys = "@KeySpreadEnvironment<@SpreadKeysLoop@Parm(Text)[]>")
  20. @Textform(SpreadKeysLoop =
  21.     "@String(SpreadKeysTemp = @Parmquote(Text))@Case(SpreadKeysTemp,
  22.          null <>, else < :@Parm(Text)@SpreadKeysLoop>)")
  23.  
  24. @Form(IndexKeys = "@Textform(IndexKeysLoop =
  25.     '@String(IndexKeysTemp = @Quote{@Parmquote(Text)})@Case(IndexKeysTemp,
  26.         null <>, else [@Kindex2(P = @Quote{@Parmquote(Text)},
  27.                     S = {for@f( @Parm(Fun))})@IndexKeysLoop])')@IndexKeysLoop@Parm(Keys)[]@~")
  28.  
  29. @Counter(UnNumberedIndex,TitleEnv HD1A,ContentsEnv tc1,Announced,Alias Chapter)
  30.  
  31. @Textform(IndexHeadings = "@UnnumberedIndex@Parmquote(Text)
  32. @String(ChapterTitle = @Parmquote(Text))
  33. @Pageheading(Immediate, Left = <>, Right = <>)
  34. @Pagefooting(Immediate, Center = <@Value(Page)>)
  35. @Pageheading(Odd, Left = <@c[@Value(ChapterTitle)]>, Right = <@Value(Page)>)
  36. @Pageheading(Even, Left = <@Value(Page)>, Right = <@c[@Value(ReportTitle)]>)
  37. @Pagefooting(Center = <>)
  38. ")
  39.  
  40. @Textform(Incompatibility = "@Begin(Quotation, Font Smallbodyfont, Indent +0, Spread 0.5, need 4)
  41.     @b[Compatibility note:] @Index(@b[Compatibility note])
  42.     @Parm(Text) @End(Quotation)")
  43. @Textform(Implementation = "@Begin(Quotation, Font Smallbodyfont, Indent +0, Spread 0.5, need 4)
  44.     @b[Implementation note:] @Index(@b[Implementation note])
  45.     @Parm(Text) @End(Quotation)")
  46. @Textform(Rationale = "@Begin(Quotation, Font Smallbodyfont, Indent +0, Spread 0.5, need 4)
  47.     @b[Rationale:] @Index(@b[Rationale]) @Parm(Text) @End(Quotation)")
  48. @Comment{
  49. @Textform(Query = "@Begin(Quotation, Font Smallbodyfont, Indent +0, Spread 0.5, need 4)
  50.     @f[???] @b[Query:] @Index(@b[Query]) @Parm(Text) @End(Quotation)")
  51. }
  52.  
  53. @Textform(Kwd = "@f[:@Parm(Text)]")
  54. @Textform(KeywordList = "
  55.     @Begin(Description)
  56.     @Textform(Keyword = '@Begin(Multiple)@~
  57. @f[:@Quote<@Parm(Text)>  ]@\@Kindex2(P = @Quote<@Parmquote(Text)>,
  58.                S = {for@f[ @Parm(Text)]})@~
  59.         @Label{@Parm(Text)-@Quote<@Parm(Text)>-kwd}@~')
  60.     @Textform(FirstKeyword = '@Begin(Multiple)@~
  61. @f[:@Quote<@Parm(Text)> @r[or] ]@Kindex2(P = @Quote<@Parmquote(Text)>,
  62.                S = {for@f[ @Parm(Text)]})@~
  63.         @Label{@Parm(Text)-@Quote<@Parm(Text)>-kwd}@~')
  64.     @Textform(NextKeyword = '@~
  65. @f[:@Quote<@Parm(Text)> @r[or] ]@Kindex2(P = @Quote<@Parmquote(Text)>,
  66.                S = {for@f[ @Parm(Text)]})@~
  67.         @Label{@Parm(Text)-@Quote<@Parm(Text)>-kwd}@~')
  68.     @Textform(LastKeyword = '@~
  69. @f[:@Quote<@Parm(Text)>  ]@\@Kindex2(P = @Quote<@Parmquote(Text)>,
  70.                S = {for@f[ @Parm(Text)]})@~
  71.         @Label{@Parm(Text)-@Quote<@Parm(Text)>-kwd}@~')
  72.     @Textform(SubKeywordList = '
  73.         @Begin(Description)
  74.         @Textform(SubKeyword = <@Begin(Multiple)@~
  75. @f[:@Quote{@Quote[@Parm(Text)]}  ]@\@Kindex2(P = @Quote{@Quote[@Parmquote(Text)]},
  76.                S = {for@f[ @Quote[@Parm(Text)] ]option @~
  77.                 to@f[ @Parm(Text)]})@~
  78.         @Label{@Parm(Text)-@Quote[@Parm(Text)]-@Quote{@Quote[@Parm(Text)]}-kwd}@~>)')
  79. ")
  80. @Textform(PseudoKeyword = "@Begin(Multiple)@Parm(Text)   @\@~")
  81. @Commandstring(Endkeyword = "@End(Multiple)")
  82. @Commandstring(Endkeywordlist = "@End(Description)")
  83. @Textform(PseudoSubKeyword = "@Begin(Multiple)@Parm(Text)   @\@~")
  84. @Commandstring(EndSubKeyword = "@End(Multiple)")
  85. @Commandstring(EndSubKeywordlist = "@End(Description)")
  86. @Textform(RandomKeywordList = "
  87.     @Begin(Description)
  88.     @Index2(P = {Keywords}, S = {for@f[ ]@Parm(Text)})
  89.     @Textform(RandomKeyword = '@Begin(Multiple)
  90. @f[:@Quote<@Parm(Text)>  ]@\@Kindex2(P = @Quote<@Parmquote(Text)>,
  91.                      S = {for@f[ ]@Parm(Text)})@~')
  92. ")
  93. @Textform(PseudoRandomKeyword = "@Begin(Multiple)@Parm(Text)   @\@~")
  94. @Commandstring(Endrandomkeyword = "@End(Multiple)")
  95. @Commandstring(Endrandomkeywordlist = "@End(Description)")
  96.  
  97. @Form(Defvar = "@Begin(Defenvironment)@Comment(Tabset?)@~
  98.    @f[@Imbed(Package, def '@Parm(Package):')@Imbed(Nostar, undef '*')@Parm(Var)@Imbed(Nostar, undef '*')] @>[@i[Variable]]@\@~
  99.    @Send(FunList {@f[@Imbed(Nostar, undef '*')@Parm(Var)@Imbed(Nostar, undef '*')] @>[@i[Variable]]@\})@~
  100.    @Imbed(Nostar, undef<@Vindex@Parmquote(Var)>, def<@Vxindex@Parmquote(Var)>)@~
  101.    @Imbed(Nolabel, undef '@Imbed(Varlabel,
  102.                       def <@Label{@Parm(Varlabel)-var}>,
  103.                       undef <@Label{@Parm(Var)-var}>)')@~
  104.    @Begin(Defbody)@Tabclear ")
  105. @Form(Defvar1 = "@Begin(Undefbody)@Comment(Tabset?)@~
  106.    @f[@Imbed(Package, def '@Parm(Package):')@Imbed(Nostar, undef '*')@Parm(Var)@Imbed(Nostar, undef '*')] @>[@i[Variable]]@\@~
  107.    @Send(FunList {@f[@Imbed(Nostar, undef '*')@Parm(Var)@Imbed(Nostar, undef '*')] @>[@i[Variable]]@\})@~
  108.    @Imbed(Nostar, undef<@Vindex@Parmquote(Var)>, def<@Vxindex@Parmquote(Var)>)@~
  109.    @Imbed(Nolabel, undef '@Imbed(Varlabel,
  110.                       def <@Label{@Parm(Varlabel)-var}>,
  111.                       undef <@Label{@Parm(Var)-var}>)')@~
  112.    @End(Undefbody)")
  113. @Commandstring(Enddefvar = "@End(Defbody)@End(Defenvironment)")
  114.  
  115. @Form(Defcon = "@Begin(Defenvironment)@Comment(Tabset?)@~
  116.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Var)] @>[@i[Constant]]@\@~
  117.    @Send(FunList {@f[@Parm(Var)] @>[@i[Constant]]@\})@~
  118.    @Conindex@Parmquote(Var)@~
  119.    @Imbed(Nolabel, undef '@Imbed(Varlabel,
  120.                       def <@Label{@Parm(Varlabel)-con}>,
  121.                       undef <@Label{@Parm(Var)-con}>)')@~
  122.    @Begin(Defbody)@Tabclear ")
  123. @Form(Defcon1 = "@Begin(Undefbody)@Comment(Tabset?)@~
  124.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Var)] @>[@i[Constant]]@\@~
  125.    @Send(FunList {@f[@Parm(Var)] @>[@i[Constant]]@\})@~
  126.    @Conindex@Parmquote(Var)@~
  127.    @Imbed(Nolabel, undef '@Imbed(Varlabel,
  128.                       def <@Label{@Parm(Varlabel)-con}>,
  129.                       undef <@Label{@Parm(Var)-con}>)')@~
  130.    @End(Undefbody)")
  131. @Commandstring(Enddefcon = "@End(Defbody)@End(Defenvironment)")
  132.  
  133. @Form(Defun = "@Begin(Defenvironment)@Comment(Tabset?)@~
  134.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)@Imbed(Keys, def < @key@!@Spreadkeys(@Parm(Keys))>)] @>[@i[Function]]@\
  135. @Imbed(MoreKeys, def <@/@Spreadkeys(@Parm(MoreKeys))
  136. >)@~
  137. @Imbed(YetMoreKeys, def <@/@Spreadkeys(@Parm(YetMoreKeys))
  138. >)@~
  139.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)@Imbed(Keys,
  140.     def < @key@!@Spreadkeys(@Parm(Keys))>)] @>[@i[Function]]@\@Imbed(MoreKeys,
  141.     def <
  142. @/@f[@Spreadkeys(@Parm(MoreKeys))]>)@Imbed(YetMoreKeys,
  143.     def <
  144. @/@f[@Spreadkeys(@Parm(YetMoreKeys))]>)})@~
  145.    @Findex@Parmquote(Fun)@~
  146.   @Imbed(SuppressKeyIndex, undef <
  147.    @Imbed(Keys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(Keys))')@~
  148.    @Imbed(MoreKeys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(MoreKeys))')@~
  149.    @Imbed(YetMoreKeys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(YetMoreKeys))')>)@~
  150.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  151.                       def <@Label{@Parm(Funlabel)-fun}>,
  152.                       undef <@Label{@Parm(Fun)-fun}>)')@~
  153.    @Begin(Defbody)@Tabclear ")
  154. @Form(Defun1 = "@Begin(Undefbody)@Comment(Tabset?)@~
  155.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)@Imbed(Keys, def < @key@!@Spreadkeys(@Parm(Keys))>)] @>[@i[Function]]@\
  156. @Imbed(MoreKeys, def <@/@Spreadkeys(@Parm(MoreKeys))
  157. >)@~
  158. @Imbed(YetMoreKeys, def <@/@Spreadkeys(@Parm(YetMoreKeys))
  159. >)@~
  160.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)@Imbed(Keys,
  161.     def < @key@!@Spreadkeys(@Parm(Keys))>)] @>[@i[Function]]@\@Imbed(MoreKeys,
  162.     def <
  163. @/@f[@Spreadkeys(@Parm(MoreKeys))]>)@Imbed(YetMoreKeys,
  164.     def <
  165. @/@f[@Spreadkeys(@Parm(YetMoreKeys))]>)})@~
  166.    @Findex@Parmquote(Fun)@~
  167.   @Imbed(SuppressKeyIndex, undef <
  168.    @Imbed(Keys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(Keys))')@~
  169.    @Imbed(MoreKeys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(MoreKeys))')@~
  170.    @Imbed(YetMoreKeys, def '@IndexKeys(Fun = @Parmquote(Fun), Keys = @Parmquote(YetMoreKeys))')>)@~
  171.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  172.                       def [@Label{@Parm(Funlabel)-fun}],
  173.                       undef [@Label{@Parm(Fun)-fun}])')@~
  174.    @End(Undefbody)")
  175. @Commandstring(Enddefun = "@End(Defbody)@End(Defenvironment)")
  176.  
  177. @Form(Defmac = "@Begin(Defenvironment)@Comment(Tabset?)@~
  178.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)] @>[@i[Macro]]@\@~
  179.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)] @>[@i[Macro]]@\})@~
  180.    @Mindex@Parmquote(Fun)@~
  181.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  182.                       def <@Label{@Parm(Funlabel)-mac}>,
  183.                       undef <@Label{@Parm(Fun)-mac}>)')@~
  184.    @Begin(Defbody)@Tabclear ")
  185. @Form(Defmac1 = "@Begin(Undefbody)@Comment(Tabset?)@~
  186.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)] @>[@i[Macro]]@\@~
  187.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)] @>[@i[Macro]]@\})@~
  188.    @Mindex@Parmquote(Fun)@~
  189.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  190.                       def <@Label{@Parm(Funlabel)-mac}>,
  191.                       undef <@Label{@Parm(Fun)-mac}>)')@~
  192.    @End(Undefbody)")
  193. @Commandstring(Enddefmac = "@End(Defbody)@End(Defenvironment)")
  194.  
  195. @Form(Defspec = "@Begin(Defenvironment)@Comment(Tabset?)@~
  196.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)] @>[@i[Special form]]@\@~
  197.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)] @>[@i[Special form]]@\})@~
  198.    @Sindex@Parmquote(Fun)@~
  199.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  200.                       def <@Label{@Parm(Funlabel)-spec}>,
  201.                       undef <@Label{@Parm(Fun)-spec}>)')@~
  202.    @Begin(Defbody)@Tabclear ")
  203. @Form(Defspec1 = "@Begin(Undefbody)@Comment(Tabset?)@~
  204.    @f[@Imbed(Package, def '@Parm(Package):')@Parm(Fun) @Parm(Args, default <>)] @>[@i[Special form]]@\@~
  205.    @Send(FunList {@f[@Parm(Fun) @Parm(Args, default <>)] @>[@i[Special form]]@\})@~
  206.    @Sindex@Parmquote(Fun)@~
  207.    @Imbed(Nolabel, undef '@Imbed(Funlabel,
  208.                       def <@Label{@Parm(Funlabel)-spec}>,
  209.                       undef <@Label{@Parm(Fun)-spec}>)')@~
  210.    @End(Undefbody)")
  211. @Commandstring(Enddefspec = "@End(Defbody)@End(Defenvironment)")
  212.  
  213. @Textform(Xindent = "@hsp(2.0em)")
  214. @Textform(Xsepr = "@hsp(0.5em)")
  215. @Textform(Def = "@Index@Parmquote(Text)@i@Parmquote(Text)")
  216. @Textform(Index = "@Indexentry{Key {@Parm(Text) !1},
  217.              Entry {@r[@Parm(Text)]@Xsepr()}, Number {@r[@Parmvalue(Page)]}}@'")
  218. @Form(PossiblyIndexedRef = "@Indexentry{Key {@Parm(K) !1},
  219.              Entry {@r[@Parm(F)]@Xsepr()}, Number {@r[@Parmvalue(Page)]}}@Parm(E)")
  220. @Textform(Index1 = "@Indexentry{Key {@Parm(Text) !1},
  221.              Entry {@r[@Parm(Text)]@Xsepr()}}@'")
  222. @Form(Index2 = "@Index1@Parmquote(P)@Indexentry{Key {@Parm(P) !2 @Parm(S)},
  223.          Entry {@Xindent()@r[@Parm(S)]@Xsepr()}, Number {@Parmvalue(Page)}}@'")
  224. @Form(Seealso = "@Index1@Parmquote(P)@Indexentry{Key {@Parm(P) !3 @Parm(S)},
  225.          Entry {@Xindent()@Xindent()@r[See also:]}, Number @Parmquote(S)}@'")
  226. @Form(Xindex = "@Indexentry{Key {@Parm(X) @Parm(T) 1},
  227.          Entry {@Parm(Q, default <>)@Parm(P)@Parm(R, default <>)@f[ ]@r[@Parm(T)]@Xsepr()},
  228.      Number {@b[@Parmvalue(Page)]}}@'")
  229. @Form(Xindexref = "@Indexentry{Key {@Parm(X) @Parm(T) 1},
  230.          Entry {@Parm(Q, default <>)@Parm(P)@Parm(R, default <>)@f[ ]@r[@Parm(T)]@Xsepr()},
  231.      Number {@Parmvalue(Page)}}@'")
  232. @Form(Xindex1 = "@Indexentry{Key {@Parm(X) @Parm(T) 1},
  233.          Entry {@Parm(Q, default <>)@Parm(P)@Parm(R, default <>)@f[ ]@r[@Parm(T)]@Xsepr()}}@'")
  234. @Form(Xindex2 = "@Xindex1(X @Parmquote(X), T @Parmquote(T),
  235.               P @Parmquote(P)@Imbed(Q, def <, Q @Parmquote(Q)>)@Imbed(R, def <, R @Parmquote(R)>))@~
  236.          @Indexentry{Key {@Parm(X) @Parm(T) 2 @Parm(S)},
  237.              Entry {@Xindent()@Parm(S)@Xsepr()},
  238.              Number {@b[@Parmvalue(Page)]}}@'")
  239. @Form(Xindexref2 = "@Xindex1(X @Parmquote(X), T @Parmquote(T),
  240.                  P @Parmquote(P)@Imbed(Q, def <, Q @Parmquote(Q)>)@Imbed(R, def <, R @Parmquote(R)>))@~
  241.          @Indexentry{Key {@Parm(X) @Parm(T) 2 @Parm(S)},
  242.              Entry {@Xindent()@Parm(S)@Xsepr()},
  243.              Number {@Parmvalue(Page)}}@'")
  244. @Form(Xseealso = "@Xindex1(X @Parmquote(X), T @Parmquote(T),
  245.                P @Parmquote(P)@Imbed(Q, def <, Q @Parmquote(Q)>)@Imbed(R, def <, R @Parmquote(R)>))@~
  246.          @Indexentry{Key {@Parm(X) @Parm(T) 3 @Parm(S)},
  247.              Entry {@Xindent()@Xindent()@r[See also:]},
  248.              Number @Parmquote(S)}}@'")
  249.  
  250. @Textform(Cindex = "@Index@Parmquote(Text)@'")
  251.  
  252. @Textform(Findex = "@Case(IndexFuns, Yes '@Xindex(T {function}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  253. @Textform(Findexref = "@Case(IndexFuns, Yes '@Xindexref(T {function}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  254. @Form(Findex2 = "@Case(IndexFuns, Yes '@Xindex2(T {function}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  255. @Form(Fseealso = "@Case(IndexFuns, Yes '@Xseealso(T {function}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  256.  
  257. @Textform(Mindex = "@Case(IndexFuns, Yes '@Xindex(T {macro}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  258. @Textform(Mindexref = "@Case(IndexFuns, Yes '@Xindexref(T {macro}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  259. @Form(Mindex2 = "@Case(IndexFuns, Yes '@Xindex2(T {macro}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  260. @Form(Mseealso = "@Case(IndexFuns, Yes '@Xseealso(T {macro}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  261.  
  262. @Textform(Sindex = "@Case(IndexFuns, Yes '@Xindex(T {special form}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  263. @Textform(Sindexref = "@Case(IndexFuns, Yes '@Xindexref(T {special form}, X {@Parm(Text)}, P {@f[@Parm(Text)]})')@'")
  264. @Form(Sindex2 = "@Case(IndexFuns, Yes '@Xindex2(T {special form}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  265. @Form(Sseealso = "@Case(IndexFuns, Yes '@Xseealso(T {special form}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))')@'")
  266.  
  267. @Textform(Vindex = "@Xindex(T {variable}, X {@Parm(Text)}, P {@f[@Parm(Text)]}, Q {@f[*]}, R{@f[*]})@'")
  268. @Textform(Vxindex = "@Xindex(T {variable}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  269. @Textform(Vindexref = "@Xindexref(T {variable}, X {@Parm(Text)}, P {@f[@Parm(Text)]}, Q {@f[*]}, R{@f[*]})@'")
  270. @Form(Vindex2 = "@Xindex2(T {variable}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S), Q {@f[*]}, R{@f[*]})@'")
  271. @Form(Vseealso = "@Xseealso(T {variable}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S), Q {@f[*]}, R{@f[*]})@'")
  272.  
  273. @Textform(Conindex = "@Xindex(T {constant}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  274. @Textform(Conindexref = "@Xindexref(T {constant}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  275. @Form(Conindex2 = "@Xindex2(T {constant}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  276. @Form(Conseealso = "@Xseealso(T {constant}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  277.  
  278. @Textform(Kindex = "@Xindex(T {keyword}, X {@Parm(Text)}, P {@f[@Parm(Text)]}, Q {@f[:]})@'")
  279. @Textform(Kindexref = "@Xindexref(T {keyword}, X {@Parm(Text)}, P {@f[@Parm(Text)]}, Q {@f[:]})@'")
  280. @Form(Kindex2 = "@Xindex2(T {keyword}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S), Q {@f[:]})@'")
  281. @Form(Kindexref2 = "@Xindexref2(T {keyword}, X {@Parm(K)}, P {@f[@Parm(K)]}, S @Parmquote(S), Q {@f[:]})@'")
  282. @Form(Kseealso = "@Xseealso(T {keyword}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S), Q {@f[:]})@'")
  283.  
  284. @Textform(Declindex = "@Xindex(T {declaration}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  285. @Textform(Declindexref = "@Xindexref(T {declaration}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  286. @Form(Declindex2 = "@Xindex2(T {declaration}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  287. @Form(Declseealso = "@Xseealso(T {declaration}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  288.  
  289. @Textform(Typeindex = "@Xindex(T {type specifier}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  290. @Textform(Typeindexref = "@Xindexref(T {type specifier}, X {@Parm(Text)}, P {@f[@Parm(Text)]})@'")
  291. @Form(Typeindex2 = "@Xindex2(T {type specifier}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  292. @Form(Typeseealso = "@Xseealso(T {type specifier}, X {@Parm(P)}, P {@f[@Parm(P)]}, S @Parmquote(S))@'")
  293.  
  294. @Textform(Funref = "@f[@Parm(Text) ]@~
  295.     @r[(page @Pageref(@Parm(Text)-fun))]@Findexref@Parmquote(Text)@;")
  296. @Textform(Funreftab = "@f[@Parm(Text) ]@\@r[(page @Pageref(@Parm(Text)-fun))]@Findexref@Parmquote(Text)@;")
  297. @Form(Xfunref = "@f[@Parm(X) ]@~
  298.     @r[(page @Pageref(@Parm(L)-fun))]@Findexref@Parmquote(X)@;")
  299. @Textform(Macref = "@f[@Parm(Text) ]@~
  300.     @r[(page @Pageref(@Parm(Text)-mac))]@Mindexref@Parmquote(Text)@;")
  301. @Textform(Macreftab = "@f[@Parm(Text) ]@\@r[(page @Pageref(@Parm(Text)-mac))]@Mindexref@Parmquote(Text)@;")
  302. @Form(Xmacref = "@f[@Parm(X) ]@~
  303.     @r[(page @Pageref(@Parm(L)-mac))]@Mindexref@Parmquote(X)@;")
  304. @Textform(Specref = "@f[@Parm(Text) ]@~
  305.     @r[(page @Pageref(@Parm(Text)-spec))]@Sindexref@Parmquote(Text)@;")
  306. @Textform(Specreftab = "@f[@Parm(Text) ]@\@r[(page @Pageref(@Parm(Text)-spec))]@Sindexref@Parmquote(Text)@;")
  307. @Form(XSpecref = "@f[@Parm(X) ]@~
  308.     @r[(page @Pageref(@Parm(L)-spec))]@Sindexref@Parmquote(X)@;")
  309. @Textform(Var = "@f[*@Parm(Text)*]")
  310. @Textform(Varref = "@f[*@Parm(Text)* ]@~
  311.     @r[(page @Pageref(@Parm(Text)-var))]@Vindexref@Parmquote(Text)@;")
  312. @Form(Xvarref = "@f[*@Parm(X)* ]@~
  313.     @r[(page @Pageref(@Parm(L)-var))]@Vindexref@Parmquote(X)@;")
  314. @Textform(Conref = "@f[@Parm(Text) ]@~
  315.     @r[(page @Pageref(@Parm(Text)-con))]@Conindexref@Parmquote(Text)@;")
  316. @Form(Xconref = "@f[@Parm(X) ]@~
  317.     @r[(page @Pageref(@Parm(L)-con))]@Conindexref@Parmquote(X)@;")
  318. @Form(Kwdref = "@f[:@Parm(K) ]@~
  319.     @r[(page @Pageref(@Parm(F)-@Parm(K)-kwd))]@Kindexref2(S {for@f[ @Parm(F)]},
  320.                               K @Parmquote(K))@;")
  321. @Form(SubKwdref = "@f[:@Parm(K)] @~
  322.     @r[(page @Pageref(@Parm(F)-@Parm(O)-@Parm(K)-kwd))]@~
  323.     @Kindexref2(S {for@f[ :@Parm(O) ]option to@f[ @Parm(F)]},
  324.             K @Parmquote(K))")
  325.  
  326. @Indexentry(Key {  1}, Entry {@IndexHeadings[Index]@Blankspace(1)@Begin(IndexEnvironment)})
  327. @Indexentry(Key {~~~ }, Entry {@End(IndexEnvironment)})
  328.  
  329. @Textform(IndexCleanup = " ")
  330.